#ifndef SEARCHWINDOW_H
#define SEARCHWINDOW_H

#include <QAction>
#include <QLabel>
#include <QLineEdit>
#include <QMenu>
#include <QMenuBar>
#include <QToolBar>
#include <QPushButton>
#include <QStatusBar>
#include <QString>
#include <QWidget>

class SearchWindow : public QWidget
{
    Q_OBJECT
public:
    explicit SearchWindow(QWidget *parent = nullptr);   //构造函数

    QString getFindText();
    QString getReplaceText();
    void update_count(int);     //修改找到的数目

private:
    QMenuBar *menubar;
    QToolBar *toolbar;          //搜索/替换菜单
    QStatusBar *statusbar;      //状态栏
    QLabel *count_label;        //计数搜索次数
    QAction *find;              //搜索选项
    QAction *replace;           //替换选项
    QPushButton *to_find_pre;   //点击搜素上一个
    QPushButton *to_find_next;  //点击搜索下一个
    QPushButton *to_replace;    //点击替换
    QLabel *prompt1;            //搜索引导语
    QLabel *prompt2;            //替换引导语
    QLineEdit *findtext;        //搜索栏
    QLineEdit *replacetext;     //替换栏
    int count_find;             //找到的数目

    void init();                //初始化
    void connect_set();         //存储自定义的connect函数

signals:
    void find_signal(bool);     //搜索信号
    void replace_signal(const QString, const QString);
    //void find_next_signal(bool);

public slots:
    void find_widget();         //查找页面
    void replace_widget();      //替换页面
    void send_find_pre();       //发送搜索信号
    void send_find_next();
    void send_replace();
};

#endif // SEARCHWINDOW_H
